/* 
模块系统的模块特性：
    将复杂的功能进行文件拆分
    文件中的相关定义变量为私有变量，模块间无法直接共享使用
    将需要在模块间进行共享功能，通过专门的语法进行导出(公开)
    node的模块系统中，在定义的文件中通过关键语法：exports或者module.exports进行功能导出
        exports为模块公开功能对象->默认值为{}，每个模块都独立拥有一个
        exports对象在node环境中将作为当前文件被require加载的时候返回值进行返回 
        
    模块系统的模块加载
        node的模块系统通过require方法进行加载
        通过const moduleApi=require(path|moduleName)实现参数指定模块，返回结果接收公开功能
            moduleApi加载模块的返回的公开功能
            path模块的文件路径
        
*/


const addApi=require("./modules/add.js");
console.log(addApi);
console.log(addApi.add(100,290)/2);
console.log(exports);

const subApi=require("./modules/sub.js");
console.log(subApi);
console.log(subApi.sub(100,200));